package Array;

import java.util.Arrays;

public class Quic1 {
//    public void quictSort(int[] arr,int start,int end){
//        if(start<end){
//           int index =  getIndex(arr, start, end);
//            getIndex(arr, start,index-1 );
//            getIndex(arr, index+1, end);
//
//        }
//
//
//    }
//
//    public int getIndex(int[] arr,int start,int end){
//        int i = start;
//        int j = end;
//        int x = arr[i];
//        while (i<j){
//            while (i<j&&arr[j]>=x){
//                j--;
//            }if(i<j){
//                arr[i]=arr[j];
//                i++;
//            }
//            while(i<j&&arr[i]<=x){
//                i++;
//            }if(i<j){
//                arr[j]=arr[i];
//                j--;
//            }
//        }
//        arr[i]=x;
//        return i;
//    }
//
    public static void main(String[] args) {
        int[] arr = {10, 44, 23, 242, 111, 2, 0};
        Quick.quickSort(arr,0,arr.length-1);
        System.out.println(Arrays.toString(arr));
    }
    public void quickSort(int[] arr,int start,int end){
        if(start<end){
           int index =  getIndex(arr, start, end);
           quickSort(arr, start, index-1);
           quickSort(arr, index+1, end);
        }
    }
    public int getIndex(int[] arr,int start,int end){
        int i = start;
        int j = end;
        int x = arr[i];
        while (i<j){
            while(i<j&&arr[j]>=x){
                j--;
            }if(x<j){
                arr[i]=arr[j];
                i++;
            }
            while(i<j&&arr[i]<=x){
                i++;
            }if(x<j){
                arr[j]=arr[i];
                j--;
            }
        }
        arr[i]=x;
        return i;
    }
}
